package xyz.iguilty.workflow.core.service;

import xyz.iguilty.workflow.model.SimpleGroup;
import xyz.iguilty.workflow.model.SimpleUser;

import java.util.List;

public interface WorkFlowIdentityService {
    void saveUser(String userId,String displayName);
    SimpleUser getUser(String userId);
    List<SimpleUser> listUser (List<String> userIds);
    List<SimpleUser> listUser (String groupId);
    String getUserDisplayNameChain(List<String> userIds);
    void deleteUser(String userId);
    void saveGroup(String groupId,String displayName);
    SimpleGroup getGroup(String groupId);
    List<SimpleGroup> listGroup(List<String> groupIds);
    String getGroupDisplayNameChain(List<String> groupIds);
    void deleteGroup(String  groupId);
    void createMembership(String userId,String groupId);
    void deleteMemberShip(String userId,String groupId);
    void setAuthenticatedUserId(String userId);
    SimpleUser getStarter(String processInstanceId);
}
